﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using CapaNegocio;
using Excepciones;

namespace CapaUsuario
{
    public partial class AltaCliente : Form
    {
        private Admin admin;
        public AltaCliente(Admin a)
        {
            admin = a;
            InitializeComponent();
            textBoxfechaAlta.Text = DateTime.Today.ToShortDateString();
            
            
        }
        //boton aceptar
        private void button1_Click(object sender, EventArgs e)
        {
            
                int dni, nroCelular;
                string nombre, email;

                try
                {
                    DateTime fechaAlta =DateTime.ParseExact(textBoxfechaAlta.Text,"dd/MM/yyyy",null);//no puedo hacer que fechaAlta cambie al formato corto.
                   
                    dni = int.Parse(textboxdni.Text);
                    if (dni == 0)
                        throw new Blanco();
                    nroCelular = int.Parse(textBoxnrocel.Text);
                    if (nroCelular == 0)
                        throw new Blanco();
                    nombre = textBoxnombre.Text;
                    if (nombre.Length == 0)
                        throw new Blanco();
                    email = textBoxemail.Text;
                    if (email.Length == 0)
                        throw new Blanco();
                    if (checkBoxclicom.Checked && checkBoxcliesp.Checked == false)
                    {
                        if (admin.altaClienteComun(dni, email, fechaAlta, nombre, nroCelular) == true)
                            MessageBox.Show("el cliente se ha registrado con exito ");
                        else
                            MessageBox.Show("el cliente con el dni " + dni + "ya existe");

                    }
                    else

                        if (checkBoxcliesp.Checked && checkBoxclicom.Checked == false)
                        {
                            if (admin.altaClienteEspecial(dni, email, fechaAlta, nombre, nroCelular) == true)
                                MessageBox.Show("el cliente se ha registrado con exito ");
                            else
                                MessageBox.Show("el cliente con el dni " + dni + "ya existe");
                        }
                    
                }
                catch (OverflowException ex)
                 {
                   MessageBox.Show(ex.Message);
                 }
                catch (Blanco ex)
                {
                    MessageBox.Show(ex.Message);
                }
                catch (FormatException ex)
                {
                    MessageBox.Show(ex.Message); 
                }
                 
      }
    

        
        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

      

           
               
        }

     

    }

